When creating and editing text within electronic devices, different languages are often interspersed in written documents. In some locales, for example, the Middle East, the languages so interspersed often have a different reading order. That is, an English language document with a primary text direction of left-to-right, may quote Hebrew or Arabic text having a text direction of right-to-left. A similar example is a cellular phone used for creating a text message having primarily right-to-left text that may include Roman characters having a reading order of left-to-right. An electronic device for creating and editing text often stores the individual characters in a text string. When moving the cursor for editing or placement of characters, a pointer is maintained corresponding to a point in the stored text string. Moving the cursor to the right, in left-to-right text will move the cursor to the next highest position in the string, that as will be described with reference to FIG. 1, can result in erratic discontinuous motion as perceived by the user. This makes it difficult for a user to predict or to select the next cursor position when editing characters. Clearly a need exists for a method and apparatus for cursor positioning in bi-directional text.